import { IAbility, IContext, IParam, IUIActionResult } from "@/core";

/**
 * 动态模板界面行为插件插件类
 *
 * @export
 * @class DynamicActionPlugin
 */
export default class DynamicActionPlugin {

    /**
     * 当前插件所属UI服务
     * 
     * @memberof DynamicActionPlugin
     */
    private uiService:any;

    /**
     * Creates an instance of DynamicActionPlugin.
     * @param {IParam} opts
     * @memberof DynamicActionPlugin
     */
    public constructor(opts:IParam){
        this.uiService = opts;
    }


    /**
     * @description 执行界面行为
     * @param {IContext} context
     * @param {IParam} viewParams
     * @param {IParam[]} data
     * @param {MouseEvent} event
     * @param {IAbility} ability
     * @return {*}  {Promise<IUIActionResult>}
     * @memberof DynamicActionPlugin
     */
    public async execute(context: IContext, viewParams: IParam, data: IParam[], event: MouseEvent, ability: IAbility): Promise<IUIActionResult> {
        throw new Error("应用界面行为插件内容暂未实现");
    }

}

